"""
插件系统模块

实现插件化架构，支持插件的加载、管理和生命周期控制。
"""

from .base import (
    Plugin, PluginMetadata, PluginState, PluginInterface,
    ProcessorPlugin, ClassifierPlugin, OutputPlugin
)
from .manager import PluginManager, plugin_manager
from .loader import PluginLoader, DirectoryPluginLoader, PackagePluginLoader
from .registry import PluginRegistry
from .hooks import PluginHook, HookManager
from .context import PluginContext
from .exceptions import PluginError, PluginLoadError, PluginNotFoundError

__all__ = [
    # 基础插件
    "Plugin",
    "PluginMetadata",
    "PluginState",
    "PluginInterface",
    "ProcessorPlugin",
    "ClassifierPlugin",
    "OutputPlugin",

    # 插件管理
    "PluginManager",
    "plugin_manager",
    "PluginLoader",
    "DirectoryPluginLoader",
    "PackagePluginLoader",
    "PluginRegistry",

    # 钩子系统
    "PluginHook",
    "HookManager",

    # 上下文
    "PluginContext",

    # 异常
    "PluginError",
    "PluginLoadError",
    "PluginNotFoundError",
]